Modern communications and data networks are comprised of nodes that transport data through the network. The nodes may include routers, switches, bridges, or combinations thereof that transport the individual data packets or frames through the network. Some networks may offer data services that forward data frames from one node to another node across the network without using pre-configured routes on intermediate nodes. Other networks may forward the data frames from one node to another node across the network along pre-configured or pre-established paths.
In some networks, a plurality of traffic flows or streams can be distributed and forwarded over a group of paths that are coupled to a same destination node or next hop. For example, Internet Protocol (IP) and/or Multiprotocol Label Switching (MPLS) networks can use equal cost multi-path (ECMP) or Link Aggregation Group (LAG) schemes to send multiple flows to the same destination or next hop over a plurality of aggregated links or paths. In the ECMP or LAG technique, the different flows are distributed over the paths using hashing algorithms, e.g. as specified in Internet Engineering Task Force (IETF) Request for Comments (RFC) 2991 or 2992, both of which are incorporated herein by reference. The hashing algorithms distribute the different flows over the different paths and guarantee that the packets that correspond to the same flow are sent over the same path. The hashing algorithm may be suitable when a relative large quantity of flows is forwarded, e.g. which allows enough random flow distribution of the paths, and further when the variations between the rates for the different flows are relatively small.